#!/bin/bash

# 体育场馆预约系统 - 后端停止脚本
# 作者: Claude Assistant
# 日期: 2025-06-16

echo "🛑 停止体育场馆预约系统后端服务..."

# 检查PID文件是否存在
if [ -f "logs/backend.pid" ]; then
    PID=$(cat logs/backend.pid)
    echo "📝 从PID文件读取进程ID: $PID"
    
    # 检查进程是否还在运行
    if kill -0 $PID 2>/dev/null; then
        echo "⏹️  正在停止后端服务 (PID: $PID)..."
        kill $PID
        
        # 等待进程结束
        sleep 3
        
        # 检查是否成功停止
        if kill -0 $PID 2>/dev/null; then
            echo "⚠️  进程未能正常停止，强制终止..."
            kill -9 $PID
            sleep 1
        fi
        
        if ! kill -0 $PID 2>/dev/null; then
            echo "✅ 后端服务已成功停止"
            rm -f logs/backend.pid
        else
            echo "❌ 无法停止后端服务"
            exit 1
        fi
    else
        echo "⚠️  进程已经停止，清理PID文件"
        rm -f logs/backend.pid
    fi
else
    echo "📝 未找到PID文件，尝试按端口停止服务..."
    
    # 查找占用8080端口的进程
    PIDS=$(lsof -ti:8080 2>/dev/null)
    
    if [ ! -z "$PIDS" ]; then
        echo "🔍 找到占用端口8080的进程: $PIDS"
        echo $PIDS | xargs kill -9
        echo "✅ 已停止占用端口8080的所有进程"
    else
        echo "ℹ️  没有找到运行中的后端服务"
    fi
fi

echo ""
echo "🎉 后端服务停止完成！" 